# @Time : 2020/11/24 下午2:39 

# @Author : tanqing

# @File : random_number.py 

# @Software: PyCharm

# 随机生成20个[1, 20]的正整数，统计每个数字出现的次数，排序并降序输出次数最多的前三个数字及次数

import random

# 生成随机数列表
lst=[ random.randint(1,20) for i in range(20)]
number_count={}
for i in range(20):
    number_count[lst[i]]=0
    for n in range(20):
        if lst[i]==lst[n]:
            number_count[lst[i]]+=1
print(lst)

# 统计次数
number_dict={}
for k,v in number_count.items():
    number_dict.setdefault(v,[])
    number_dict[v].append(k)
print(number_dict)

# 排序
result=[]
for i in sorted(number_dict,reverse=True):
    for n in number_dict[i]:
        result.append((n,i))
print(result[:3])


# 做得不错
